package ru.ntcreb.csir.libs.methods.SVCH;

import ru.ntcreb.csir.libs.methods.SVCH.dto.SVCHImpulseDTO;
import ru.ntcreb.csir.libs.methods.SVCH.dto.TractDTO;

public class SVCHService {

	public SVCHImpulseDTO createSVCHImpulseDTO(double voltageAplitude_A,
			double impulseIncreaseConstant_Alpha,
			double impulseFallingConstant_Beta,
			double impulseFillingFrequency_U0) {
		SVCHImpulseDTO dto = new SVCHImpulseDTO();
		dto.setImpulseFallingConstant_Beta(impulseFallingConstant_Beta);
		dto.setImpulseFillingFrequency_U0(impulseFillingFrequency_U0);
		dto.setImpulseIncreaseConstant_Alpha(impulseIncreaseConstant_Alpha);
		dto.setVoltageAplitude_A(voltageAplitude_A);
		return dto;
	}
//make configurable settings f.e max_iterations, time
	public native double[] createSVCHImpulse(SVCHImpulseDTO svchImpulseDTO);

	public native double[] createTractSVCHReaction(
			double[] svchImpulseVoltageArray, TractDTO tract1);

}
